VARNISH-COUNTERS(7) | VARNISH-COUNTERS(7) |
NAME¶
varnish-counters - Varnish counter field definitions
MAIN – MAIN COUNTERS¶
summs – counter - debug
Number of times per-thread statistics were summed into the global counters.
uptime – counter - info
How long the child process has been running.
sess_conn – counter - info
Count of sessions successfully accepted
sess_fail – counter - info
Count of failures to accept TCP connection.
This counter is the sum of the sess_fail_* counters, which give more detailed information.
sess_fail_econnaborted – counter - info
Detailed reason for sess_fail: Connection aborted by the client, usually harmless.
sess_fail_eintr – counter - info
Detailed reason for sess_fail: The accept() call was interrupted, usually harmless
sess_fail_emfile – counter - info
Detailed reason for sess_fail: No file descriptor was available. Consider raising RLIMIT_NOFILE (see ulimit -n).
sess_fail_ebadf – counter - info
Detailed reason for sess_fail: The listen socket file descriptor was invalid. Should never happen.
sess_fail_enomem – counter - info
Detailed reason for sess_fail: Most likely insufficient socket buffer memory. Should never happen
sess_fail_other – counter - info
Detailed reason for sess_fail: neither of the above, see SessError log (varnishlog -g raw -i SessError).
client_req_400 – counter - info
400 means we couldn't make sense of the request, it was malformed in some drastic way.
client_req_417 – counter - info
417 means that something went wrong with an Expect: header.
client_req – counter - info
The count of parseable client requests seen.
esi_req – counter - info
Number of ESI subrequests made.
cache_hit – counter - info
Count of cache hits. A cache hit indicates that an object has been delivered to a client without fetching it from a backend server.
cache_hit_grace – counter - info
Count of cache hits with grace. A cache hit with grace is a cache hit where the object is expired. Note that such hits are also included in the cache_hit counter.
cache_hitpass – counter - info
Count of hits for pass. A cache hit for pass indicates that Varnish is going to pass the request to the backend and this decision has been cached in it self. This counts how many times the cached decision is being used.
cache_hitmiss – counter - info
Count of hits for miss. A cache hit for miss indicates that Varnish is going to proceed as for a cache miss without request coalescing, and this decision has been cached. This counts how many times the cached decision is being used.
cache_miss – counter - info
Count of misses. A cache miss indicates the object was fetched from the backend before delivering it to the client.
beresp_uncacheable – counter - info
Count of backend responses considered uncacheable.
beresp_shortlived – counter - info
Count of objects created with ttl+grace+keep shorter than the 'shortlived' runtime parameter.
backend_conn – counter - info
How many backend connections have successfully been established.
backend_unhealthy – counter - info
backend_busy – counter - info
backend_fail – counter - info
backend_reuse – counter - info
Count of backend connection reuses. This counter is increased whenever we reuse a recycled connection.
backend_recycle – counter - info
Count of backend connection recycles. This counter is increased whenever we have a keep-alive connection that is put back into the pool of connections. It has not yet been used, but it might be, unless the backend closes it.
backend_retry – counter - info
fetch_head – counter - info
beresp with no body because the request is HEAD.
fetch_length – counter - info
beresp.body with Content-Length.
fetch_chunked – counter - info
beresp.body with Chunked.
fetch_eof – counter - info
beresp.body with EOF.
fetch_bad – counter - info
beresp.body length/fetch could not be determined.
fetch_none – counter - info
beresp.body empty
fetch_1xx – counter - info
beresp with no body because of 1XX response.
fetch_204 – counter - info
beresp with no body because of 204 response.
fetch_304 – counter - info
beresp with no body because of 304 response.
fetch_failed – counter - info
beresp fetch failed.
fetch_no_thread – counter - info
beresp fetch failed, no thread available.
pools – gauge - info
Number of thread pools. See also parameter thread_pools. NB: Presently pools cannot be removed once created.
threads – gauge - info
Number of threads in all pools. See also parameters thread_pools, thread_pool_min and thread_pool_max.
threads_limited – counter - info
Number of times more threads were needed, but limit was reached in a thread pool. See also parameter thread_pool_max.
threads_created – counter - info
Total number of threads created in all pools.
threads_destroyed – counter - info
Total number of threads destroyed in all pools.
threads_failed – counter - info
Number of times creating a thread failed. See VSL::Debug for diagnostics. See also parameter thread_fail_delay.
thread_queue_len – gauge - info
Length of session queue waiting for threads. NB: Only updates once per second. See also parameter thread_queue_limit.
busy_sleep – counter - info
Number of requests sent to sleep without a worker thread because they found a busy object.
busy_wakeup – counter - info
Number of requests taken off the busy object sleep list and rescheduled.
busy_killed – counter - info
Number of requests killed from the busy object sleep list due to lack of resources.
sess_queued – counter - info
Number of times session was queued waiting for a thread. See also parameter thread_queue_limit.
sess_dropped – counter - info
Number of times an HTTP/1 session was dropped because the queue was too long already. See also parameter thread_queue_limit.
req_dropped – counter - info
Number of times an HTTP/2 stream was refused because the queue was too long already. See also parameter thread_queue_limit.
n_object – gauge - info
Approximate number of HTTP objects (headers + body, if present) in the cache.
n_vampireobject – gauge - diag
Number of unresurrected objects
n_objectcore – gauge - info
Approximate number of object metadata elements in the cache. Each object needs an objectcore, extra objectcores are for hit-for-miss, hit-for-pass and busy objects.
n_objecthead – gauge - info
Approximate number of different hash entries in the cache.
n_backend – gauge - info
Number of backends known to us.
n_expired – counter - info
Number of objects that expired from cache because of old age.
n_lru_nuked – counter - info
How many objects have been forcefully evicted from storage to make room for a new object.
n_lru_moved – counter - diag
Number of move operations done on the LRU list.
n_lru_limited – counter - info
Number of times more storage space were needed, but limit was reached in a nuke_limit. See also parameter nuke_limit.
losthdr – counter - info
s_sess – counter - info
n_pipe – gauge - info
pipe_limited – counter - info
Number of times more pipes were needed, but the limit was reached. See also parameter pipe_sess_max.
s_pipe – counter - info
s_pass – counter - info
s_fetch – counter - info
Total backend fetches initiated, including background fetches.
s_bgfetch – counter - info
s_synth – counter - info
s_req_hdrbytes – counter - info
Total request header bytes received
s_req_bodybytes – counter - info
Total request body bytes received
s_resp_hdrbytes – counter - info
Total response header bytes transmitted
s_resp_bodybytes – counter - info
Total response body bytes transmitted
s_pipe_hdrbytes – counter - info
Total request bytes received for piped sessions
s_pipe_in – counter - info
Total number of bytes forwarded from clients in pipe sessions
s_pipe_out – counter - info
Total number of bytes forwarded to clients in pipe sessions
sess_closed – counter - info
sess_closed_err – counter - info
Total number of sessions closed with errors. See sc_* diag counters for detailed breakdown
sess_readahead – counter - info
sess_herd – counter - diag
Number of times the timeout_linger triggered
sc_rem_close – counter - diag
Number of session closes with REM_CLOSE (Client Closed)
sc_req_close – counter - diag
Number of session closes with REQ_CLOSE (Client requested close)
sc_req_http10 – counter - diag
Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)
sc_rx_bad – counter - diag
Number of session closes with Error RX_BAD (Received bad req/resp)
sc_rx_body – counter - diag
Number of session closes with Error RX_BODY (Failure receiving req.body)
sc_rx_junk – counter - diag
Number of session closes with Error RX_JUNK (Received junk data)
sc_rx_overflow – counter - diag
Number of session closes with Error RX_OVERFLOW (Received buffer overflow)
sc_rx_timeout – counter - diag
Number of session closes with Error RX_TIMEOUT (Receive timeout)
sc_rx_close_idle – counter - diag
Number of session closes with Error RX_CLOSE_IDLE: timeout_idle has been exceeded while waiting for a client request.
sc_tx_pipe – counter - diag
Number of session closes with TX_PIPE (Piped transaction)
sc_tx_error – counter - diag
Number of session closes with Error TX_ERROR (Error transaction)
sc_tx_eof – counter - diag
Number of session closes with TX_EOF (EOF transmission)
sc_resp_close – counter - diag
Number of session closes with RESP_CLOSE (Backend/VCL requested close)
sc_overload – counter - diag
Number of session closes with Error OVERLOAD (Out of some resource)
sc_pipe_overflow – counter - diag
Number of session closes with Error PIPE_OVERFLOW (Session pipe overflow)
sc_range_short – counter - diag
Number of session closes with Error RANGE_SHORT (Insufficient data for range)
sc_req_http20 – counter - diag
Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)
sc_vcl_failure – counter - diag
Number of session closes with Error VCL_FAILURE (VCL failure)
client_resp_500 – counter - diag
Number of times we failed a response due to running out of workspace memory during delivery.
ws_backend_overflow – counter - diag
Number of times we ran out of space in workspace_backend.
ws_client_overflow – counter - diag
Number of times we ran out of space in workspace_client.
ws_thread_overflow – counter - diag
Number of times we ran out of space in workspace_thread.
ws_session_overflow – counter - diag
Number of times we ran out of space in workspace_session.
shm_records – counter - diag
shm_writes – counter - diag
shm_flushes – counter - diag
shm_cont – counter - diag
shm_cycles – counter - diag
backend_req – counter - info
n_vcl – gauge - info
n_vcl_avail – gauge - diag
n_vcl_discard – gauge - diag
vcl_fail – counter - info
Count of failures which prevented VCL from completing.
bans – gauge - info
Number of all bans in system, including bans superseded by newer bans and bans already checked by the ban-lurker.
bans_completed – gauge - diag
Number of bans which are no longer active, either because they got checked by the ban-lurker or superseded by newer identical bans.
bans_obj – gauge - diag
Number of bans which use obj.* variables. These bans can possibly be washed by the ban-lurker.
bans_req – gauge - diag
Number of bans which use req.* variables. These bans can not be washed by the ban-lurker.
bans_added – counter - diag
Counter of bans added to ban list.
bans_deleted – counter - diag
Counter of bans deleted from ban list.
bans_tested – counter - diag
Count of how many bans and objects have been tested against each other during hash lookup.
bans_obj_killed – counter - diag
Number of objects killed by bans during object lookup.
bans_lurker_tested – counter - diag
Count of how many bans and objects have been tested against each other by the ban-lurker.
bans_tests_tested – counter - diag
Count of how many tests and objects have been tested against each other during lookup. 'ban req.url == foo && req.http.host == bar' counts as one in 'bans_tested' and as two in 'bans_tests_tested'
bans_lurker_tests_tested – counter - diag
Count of how many tests and objects have been tested against each other by the ban-lurker. 'ban req.url == foo && req.http.host == bar' counts as one in 'bans_tested' and as two in 'bans_tests_tested'
bans_lurker_obj_killed – counter - diag
Number of objects killed by the ban-lurker.
bans_lurker_obj_killed_cutoff – counter - diag
Number of objects killed by the ban-lurker to keep the number of bans below ban_cutoff.
bans_dups – counter - diag
Count of bans replaced by later identical bans.
bans_lurker_contention – counter - diag
Number of times the ban-lurker had to wait for lookups.
bans_persisted_bytes – gauge - diag
Number of bytes used by the persisted ban lists.
bans_persisted_fragmentation – gauge - diag
Number of extra bytes accumulated through dropped and completed bans in the persistent ban lists.
n_purges – counter - info
n_obj_purged – counter - info
exp_mailed – counter - diag
Number of objects mailed to expiry thread for handling.
exp_received – counter - diag
Number of objects received by expiry thread for handling.
hcb_nolock – counter - debug
hcb_lock – counter - debug
hcb_insert – counter - debug
esi_errors – counter - diag
esi_warnings – counter - diag
vmods – gauge - info
n_gzip – counter - info
n_gunzip – counter - info
n_test_gunzip – counter - info
Those operations occur when Varnish receives a compressed object from a backend. They are done to verify the gzip stream while it's inserted in storage.
MGT – MANAGEMENT PROCESS COUNTERS¶
uptime – counter - info
Uptime in seconds of the management process
child_start – counter - diag
Number of times the child process has been started
child_exit – counter - diag
Number of times the child process has been cleanly stopped
child_stop – counter - diag
Number of times the child process has exited with an unexpected return code
child_died – counter - diag
Number of times the child process has died due to signals
child_dump – counter - diag
Number of times the child process has produced core dumps
child_panic – counter - diag
Number of times the management process has caught a child panic
MEMPOOL – MEMORY POOL COUNTERS¶
live – gauge - debug
pool – gauge - debug
sz_wanted – gauge - debug
sz_actual – gauge - debug
allocs – counter - debug
frees – counter - debug
recycle – counter - debug
timeout – counter - debug
toosmall – counter - debug
surplus – counter - debug
randry – counter - debug
SMA – MALLOC STEVEDORE COUNTERS¶
c_req – counter - info
Number of times the storage has been asked to provide a storage segment.
c_fail – counter - info
Number of times the storage has failed to provide a storage segment.
c_bytes – counter - info
Number of total bytes allocated by this storage.
c_freed – counter - info
Number of total bytes returned to this storage.
g_alloc – gauge - info
Number of storage allocations outstanding.
g_bytes – gauge - info
Number of bytes allocated from the storage.
g_space – gauge - info
Number of bytes left in the storage.
SMU – UMEM STEVEDORE COUNTERS¶
c_req – counter - info
Number of times the storage has been asked to provide a storage segment.
c_fail – counter - info
Number of times the storage has failed to provide a storage segment.
c_bytes – counter - info
Number of total bytes allocated by this storage.
c_freed – counter - info
Number of total bytes returned to this storage.
g_alloc – gauge - info
Number of storage allocations outstanding.
g_bytes – gauge - info
Number of bytes allocated from the storage.
g_space – gauge - info
Number of bytes left in the storage.
SMF – FILE STEVEDORE COUNTERS¶
c_req – counter - info
Number of times the storage has been asked to provide a storage segment.
c_fail – counter - info
Number of times the storage has failed to provide a storage segment.
c_bytes – counter - info
Number of total bytes allocated by this storage.
c_freed – counter - info
Number of total bytes returned to this storage.
g_alloc – gauge - info
Number of storage allocations outstanding.
g_bytes – gauge - info
Number of bytes allocated from the storage.
g_space – gauge - info
Number of bytes left in the storage.
g_smf – gauge - info
g_smf_frag – gauge - info
g_smf_large – gauge - info
VBE – BACKEND COUNTERS¶
happy – bitmap - info
Represents the last probe results as a bitmap. Happy probes are bits set to 1, and the unhappy ones are set to 0. The highest bits represent the oldest probes.
bereq_hdrbytes – counter - info
Total backend request header bytes sent
bereq_bodybytes – counter - info
Total backend request body bytes sent
beresp_hdrbytes – counter - info
Total backend response header bytes received
beresp_bodybytes – counter - info
Total backend response body bytes received
pipe_hdrbytes – counter - info
Total request bytes sent for piped sessions
pipe_out – counter - info
Total number of bytes forwarded to backend in pipe sessions
pipe_in – counter - info
Total number of bytes forwarded from backend in pipe sessions
conn – gauge - info
The number of currently used connections to the backend. This number is always less or equal to the number of connections to the backend (as, for example shown as ESTABLISHED for TCP connections in netstat) due to connection pooling.
req – counter - info
unhealthy – counter - info
busy – counter - info
Number of times the max_connections limit was reached
fail – counter - info
Counter of failed opens. Detailed reasons are given in the fail_* counters (DIAG level) and in the log under the FetchError tag.
This counter is the sum of all detailed fail_* counters.
All fail_* counters may be slightly inaccurate for efficiency.
fail_eacces – counter - diag
fail_eaddrnotavail – counter - diag
fail_econnrefused – counter - diag
fail_enetunreach – counter - diag
fail_etimedout – counter - diag
fail_other – counter - diag
helddown – counter - diag
Connections not attempted during the backend_local_error_holddown or backend_remote_error_holddown interval after a fundamental connection issue.
LCK – LOCK COUNTERS¶
The counts may be slightly wrong if there are more than one lock instantiated in each class (ie: .creat > 1)
creat – counter - debug
destroy – counter - debug
locks – counter - debug
dbg_busy – counter - debug
If the lck debug bit is set: Lock operations which returned EBUSY on the first locking attempt.
If the lck debug bit is unset, this counter will never be incremented even if lock operations are contended.
dbg_try_fail – counter - debug
If the lck debug bit is set: Trylock operations which returned EBUSY.
If the lck debug bit is unset, this counter will never be incremented even if lock operations are contended.
AUTHORS¶
This man page was written by Lasse Karstensen, using content from vsc2rst written by Tollef Fog Heen.